]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
5 years agost/widget: Fix applying :insensitive to initially unreactive widgets
Florian Müllner [Sun, 7 Feb 2021 22:21:55 +0000 (23:21 +0100)]
st/widget: Fix applying :insensitive to initially unreactive widgets

We are applying the :insensitive pseudo class to unreactive widgets,
or at least we are supposed to. As we currently only update the style
on notify, we don't apply it to initially unreactive widgets.

This was covered up partially until recently when Clutter started to
use G_PARAM_EXPLICIT_NOTIFY. Before that, the notify handler would run
when explicitly setting :reactive to FALSE at construction time.

Make sure we always apply the pseudo class correctly by updating it
after construct properties have been set.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3685

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1648>

5 years agoshell-util: Use early-return in shell_util_get_week_start()
TerraAr [Fri, 18 Dec 2020 17:54:04 +0000 (17:54 +0000)]
shell-util: Use early-return in shell_util_get_week_start()

Cleanup shell_util_get_week_start() a little bit and use an early-return
instead of setting the week_start variable to 0.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1546>

5 years agoUpdate Romanian translation
Daniel Șerbănescu [Sun, 7 Feb 2021 14:08:24 +0000 (14:08 +0000)]
Update Romanian translation

5 years agost/theme-node-drawing: Fix inner shadow fast path condition
Sebastian Keller [Sat, 6 Feb 2021 23:23:04 +0000 (00:23 +0100)]
st/theme-node-drawing: Fix inner shadow fast path condition

We want to use the fast path of filling the entire area if either the
left and right shadows would overlap or the top and bottom shadows. The
latter check was wrong due to a typo resulting in the regular path
being used in some cases it couldn't (and shouldn't) handle.

This was causing the inset shadow used to highlight panel buttons to
not appear for buttons above a certain width.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1646>

5 years agoUpdate Galician translation
Fran Dieguez [Sun, 7 Feb 2021 00:07:52 +0000 (00:07 +0000)]
Update Galician translation

5 years agoUpdate Portuguese translation
Hugo Carvalho [Sat, 6 Feb 2021 21:47:55 +0000 (21:47 +0000)]
Update Portuguese translation

5 years agoUpdated Czech translation
Marek Černocký [Sat, 6 Feb 2021 08:37:37 +0000 (09:37 +0100)]
Updated Czech translation

5 years agoUpdated Czech translation
Marek Černocký [Sat, 6 Feb 2021 07:28:11 +0000 (08:28 +0100)]
Updated Czech translation

5 years agoUpdate Ukrainian translation
Yuri Chornoivan [Fri, 5 Feb 2021 20:23:04 +0000 (20:23 +0000)]
Update Ukrainian translation

5 years agoUpdate Swedish translation
Anders Jonsson [Fri, 5 Feb 2021 18:42:39 +0000 (18:42 +0000)]
Update Swedish translation

5 years agodata: Fix grammar and wording in new GSettings key
Bastien Nocera [Fri, 5 Feb 2021 14:33:00 +0000 (15:33 +0100)]
data: Fix grammar and wording in new GSettings key

The description for the 'welcome-dialog-last-shown-version' key
must have been written quite late in the day, as it's full of grammar
mistakes, typos and British English.
*sips coffee*
I can say that, because I wrote it.
*sips coffee*
Anyway, that might be a bit better.

*sips coffee* and Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1641

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1641>

5 years agomain: Show welcome dialogue on first start
Bastien Nocera [Mon, 1 Feb 2021 12:31:41 +0000 (13:31 +0100)]
main: Show welcome dialogue on first start

This hooks the recently added welcome dialogue to be shown the first
time a new session is started, and disabled after that.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3632
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1619>

5 years agoutil: Add a GNOME version comparison function
Bastien Nocera [Thu, 4 Feb 2021 11:26:15 +0000 (12:26 +0100)]
util: Add a GNOME version comparison function

Add a function that can compare GNOME versions, including the new naming
scheme for GNOME 40 and later.

Used in https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3632

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1619>

5 years agowelcomeDialog: Add “welcome” dialog
Bastien Nocera [Mon, 1 Feb 2021 09:20:48 +0000 (10:20 +0100)]
welcomeDialog: Add “welcome” dialog

As designed at:
https://gitlab.gnome.org/Teams/Design/os-mockups/-/blob/master/greeter/welcome-dialog.png

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3632
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1619>

5 years agotheme: Space dash items
Jakub Steiner [Thu, 4 Feb 2021 17:27:30 +0000 (18:27 +0100)]
theme: Space dash items

- don't nuke separator
- space appropriately

Fixes a fix for https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3640

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1636>

5 years agotheme: Legible thumbnail close button
Jakub Steiner [Thu, 4 Feb 2021 17:04:09 +0000 (18:04 +0100)]
theme: Legible thumbnail close button

- prominent close button
- legible yet stylish thumbnail labels

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3669

5 years agodata: Update custom close icon
Florian Müllner [Thu, 4 Feb 2021 23:50:34 +0000 (00:50 +0100)]
data: Update custom close icon

The existing asset has a nice black rectangle on top of the
intended shape.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1640>

5 years agodata: Rename custom close icon
Florian Müllner [Thu, 4 Feb 2021 23:47:06 +0000 (00:47 +0100)]
data: Rename custom close icon

Resource icons are added to the fallback icon theme, so they won't
get used if a matching icon is found in the configured theme.

That includes fallback names, so Adwaita's "window-close-symbolic"
takes precedence over "window-close-24-symbolic" in hicolor.

Fix this by using a custom name for a custom icon.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1640>

5 years agodata: Move custom close icon into actions/
Florian Müllner [Thu, 4 Feb 2021 23:17:12 +0000 (00:17 +0100)]
data: Move custom close icon into actions/

Adwaita uses ui/ for the corresponding icon, but GTK treats icons
from a resource path as part of the hicolor theme that doesn't
have such a subdir. And as GTK determines subdirs by enumerating
the theme directory, any subdirs that only exist in the resource
are ignored, whoops.

Make sure the icon can be found by moving it to a standard subdir.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1640>

5 years agotheme: Scale media player button padding with font size
Sebastian Keller [Thu, 4 Feb 2021 01:22:22 +0000 (02:22 +0100)]
theme: Scale media player button padding with font size

The total width of the MediaMessage scales with the font size, but the
padding of the media player buttons do not, which can become an issue
with text-scaling-factor < 1.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3664

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1632>

5 years agompris: Hide unused elements to leave more space for the title
Sebastian Keller [Thu, 4 Feb 2021 01:17:08 +0000 (02:17 +0100)]
mpris: Hide unused elements to leave more space for the title

The Message class this is derived from unconditionally adds a close
button with 0 opacity that only gets shown on hover for messages that
can actually be closed. The MPRIS MediaMessage however can never be
closed and having a close button can cause the title to be cut short
unexpectedly.

Similarly the secondary text which other notifications use to display
the notification time is always left empty here as well.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3664

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1632>

5 years agoappDisplay: Do not bind popdown call to grabHelper onUngrab
Marco Trevisan (Treviño) [Thu, 4 Feb 2021 16:37:02 +0000 (17:37 +0100)]
appDisplay: Do not bind popdown call to grabHelper onUngrab

grabHelper is passing a boolean argument to onUngrab() callback function
and since commit 1acbdcc9b3b0 we'd end up adding it to to the callback list or
we'd try to invoke it:

 (gnome-shell:3490851): Gjs-CRITICAL **: 17:19:20.460: JS ERROR:
  TypeError: func is not a function
  onComplete/<@/media/M2/GNOME/gnome-shell/js/ui/appDisplay.js:2407:56
  onComplete@/media/M2/GNOME/gnome-shell/js/ui/appDisplay.js:2407:40
  _makeEaseCallback/<@/media/M2/GNOME/gnome-shell/js/ui/environment.js:85:13
  _easeActor/<@/media/M2/GNOME/gnome-shell/js/ui/environment.js:170:64

Use an arrow function so that we can control the parameters we pass
to popdown.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1635>

5 years agopanel: Align left and right margin for status panel item
Razze [Tue, 2 Feb 2021 00:54:48 +0000 (01:54 +0100)]
panel: Align left and right margin for status panel item

We now set a padding for the left and right
side of the pill. We also got rid of the padding on the icon.

Probably broken due to the removal of the dropdown arrow
which likly handled the padding the right side of this item before.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1615>

5 years agoaccessibility/keyboard: Align the panelMenu button style
Razze [Tue, 2 Feb 2021 00:51:15 +0000 (01:51 +0100)]
accessibility/keyboard: Align the panelMenu button style

This get's rid of the single-indicator introduced in one of the latest
commits. This was causing the accessibility pill in the top panel
 to have different padding from the keyboard layout pill.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1615>

5 years agowindowManager: Allow switching workspaces with super-scroll
Florian Müllner [Fri, 29 Jan 2021 19:33:23 +0000 (20:33 +0100)]
windowManager: Allow switching workspaces with super-scroll

So far, we couldn't allow workspace scrolling outside the overview
because scroll events were always sent to clients. However mutter
was changed recently to pass on scroll events when the mouse button
modifier (usually super) is pressed, which allows us to enable the
same workspace scrolling as in the overview now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1612>

5 years agoswipeTracker: Optionally require modifiers for scrolling
Florian Müllner [Fri, 29 Jan 2021 20:28:52 +0000 (21:28 +0100)]
swipeTracker: Optionally require modifiers for scrolling

The design now calls for super-scroll for workspace switching
in the session, however it is currently only possible for
SwipeTracker to either handle scroll events or not.

In order to support the new use case, add a new :scroll-modifiers
property that allows specifying modifiers for which scroll events
are handled.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1612>

5 years agoworkspacesView: Move workspace scroll code to windowManager
Florian Müllner [Fri, 29 Jan 2021 19:22:52 +0000 (20:22 +0100)]
workspacesView: Move workspace scroll code to windowManager

This will allow sharing the code for the new super-scroll functionality.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1612>

5 years agoChange all g_memdup() to g_memdup2()
Jonas Ådahl [Thu, 4 Feb 2021 17:56:02 +0000 (18:56 +0100)]
Change all g_memdup() to g_memdup2()

Using g_memdup() is dangerous due to the type of the size argument. See
https://gitlab.gnome.org/GNOME/glib/-/issues/2319 and
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1926 for details.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1637>

5 years agodnd: Update actor position after scaling even when animations are off
Sebastian Keller [Wed, 3 Feb 2021 00:59:00 +0000 (01:59 +0100)]
dnd: Update actor position after scaling even when animations are off

The code to update the actor position based on the cursor and current
scale was run in a 'new-frame' handler. This is working fine when
animations are enabled, but when they are turned off this does not work.
This is because the 'new-frame' signal is emitted before the changes for
that frame are applied. So with animations off the position was only
ever updated with the starting values. As a result the shrunk actor was
not being dragged by the position where it was clicked, but by where it
was clicked in the original size, which is likely not even on the shrunk
actor.

This change now also updates the position in the onComplete handler
which gets run with the final scale, even if the duration is 0.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1699

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1627>

5 years agotheme: Adjust dash icon spacing
Jakub Steiner [Thu, 4 Feb 2021 12:26:23 +0000 (13:26 +0100)]
theme: Adjust dash icon spacing

- slight separation between favorites and the app-well icon

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3640

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1634>

5 years agoworkspacesView: Derive workspace state from fit mode
Georges Basile Stavracas Neto [Fri, 1 Jan 2021 16:10:19 +0000 (13:10 -0300)]
workspacesView: Derive workspace state from fit mode

Derive the workspace state WorkspacesView's workspaces from the fit mode.
Extra workspaces still run the zoom animations as before.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1613>

5 years agoworkspace: Split preparation steps from zoomFromOverview
Georges Basile Stavracas Neto [Fri, 1 Jan 2021 16:07:06 +0000 (13:07 -0300)]
workspace: Split preparation steps from zoomFromOverview

Next commit will bind the workspace state adjustment to the snap
adjustment in WorkspacesView, and we'll need the preparation
steps but not the easing of the state adjustment.

Split preparation steps from zoomFromOverview() into a new method
prepareToLeaveOverview().

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1613>

5 years agoworkspacesView: Scale inactive workspaces
Georges Basile Stavracas Neto [Thu, 31 Dec 2020 17:19:43 +0000 (14:19 -0300)]
workspacesView: Scale inactive workspaces

As per the latest mockups, then horizontally snapping, the active
workspace should be highlighted. Because WorkspacesView clips to
allocation, we cannot simply scale up the active one. Instead,
scale down the inactive ones.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1613>

5 years agoworkspacesView/workspacesDisplay: Don't sync geometry when animating
Georges Basile Stavracas Neto [Wed, 30 Dec 2020 22:59:02 +0000 (19:59 -0300)]
workspacesView/workspacesDisplay: Don't sync geometry when animating

Synchronizing the actual geometry while animating from / to the overview can
break the animation. Let's prevent that. This code will go away soon anyway,
but to not lose bisectability, it's better not to leave it misbehaving until
then.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1613>

5 years agoworkspacesView: Center active workspace in allocation
Georges Basile Stavracas Neto [Wed, 30 Dec 2020 15:44:00 +0000 (12:44 -0300)]
workspacesView: Center active workspace in allocation

When vertically snapping, WorkspacesView currently allocates workspaces
side-by-side, then applies an extra step of translation to center to
the active workspace. This extra step, however, gets in our way because
now we need tighter control of the workspaces positions in allocation,
in order to properly interpolate them.

Move the translation of workspaces to the allocation code itself, and
remove the extra translation step.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1613>

5 years agoviewSelector: Tie workspace fit mode to adjustment
Georges Basile Stavracas Neto [Tue, 29 Dec 2020 21:51:40 +0000 (18:51 -0300)]
viewSelector: Tie workspace fit mode to adjustment

Tie the fit mode adjustment of WorkspacesDisplay to the
state adjustment of AppPagesContainer, and transition to
the ALL fit mode when the app grid is visible.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1613>

5 years agoworkspacesView: Use side-by-side layout
Georges Basile Stavracas Neto [Tue, 29 Dec 2020 21:05:29 +0000 (18:05 -0300)]
workspacesView: Use side-by-side layout

Currently, WorkspacesView positions each workspace on a
per-page layout, each page with the allocated width and
height of WorkspaceView. This layout doesn't work well
with horizontal workspaces.

Layout workspaces side by side, instead of per page. The
layout is influenced by a "fit mode", which reflects the
different behaviors exposed in the mockup. This fit mode
represents whether a single or all workspaces will fit
available geometry.

The single fit mode is always used for now. Next commits
will make it switch to the all fit mode when in the app
grid state.

The translation_{x,y} also needed to reflect the switch to
a side-by-side layout, and use the geometry of the workspaces
to determine the offset. Notice that, when the fit mode is ALL,
there's no translation applied.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1613>

5 years agoworkspacesView: Always use ZOOM transition
Florian Müllner [Sun, 28 Jun 2020 12:42:44 +0000 (14:42 +0200)]
workspacesView: Always use ZOOM transition

Workspaces are now always shown, so the code path to fade windows
instead of zooming out is dead now; remove it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1613>

5 years agocleanup: Define GObject accessors in camelCase
Florian Müllner [Sat, 30 Jan 2021 01:03:07 +0000 (02:03 +0100)]
cleanup: Define GObject accessors in camelCase

gjs is smart enough to match a propertyName getter/setter to the
corresponding property-name GObject property, so use that and get
rid of the eslint camelcase rule exceptions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1611>

5 years agojs: Use gjs-defined GObject accessors where possible
Florian Müllner [Sat, 30 Jan 2021 00:03:04 +0000 (01:03 +0100)]
js: Use gjs-defined GObject accessors where possible

Nowadays gjs allows to omit get/set accessors for read-write properties,
and will define reasonable defaults in that case. In many cases we don't
need anything more than the default handling, let gjs handle those props.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1611>

5 years agoworkspaceThumbnails: Remove obsolete property
Florian Müllner [Sat, 30 Jan 2021 01:15:53 +0000 (02:15 +0100)]
workspaceThumbnails: Remove obsolete property

Since commit f55ff012394, the property has been replaced by
an adjustment.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1611>

5 years agoappDisplay: Remove obsolete property
Florian Müllner [Fri, 29 Jan 2021 23:56:48 +0000 (00:56 +0100)]
appDisplay: Remove obsolete property

Since commit f09fbb19c, all app grids use pagination and the old
property is meaningless.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1611>

5 years agoiconGrid: Use correct default values in pspecs
Florian Müllner [Fri, 29 Jan 2021 22:42:30 +0000 (23:42 +0100)]
iconGrid: Use correct default values in pspecs

The defaults are set in the code right now, but this is about to change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1611>

5 years agopageIndicators: Remove animated indicators
Florian Müllner [Wed, 3 Feb 2021 01:32:36 +0000 (02:32 +0100)]
pageIndicators: Remove animated indicators

Nothing uses them anymore, so clean out the code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1629>

5 years agoappDisplay: Never use animated indicators
Georges Basile Stavracas Neto [Fri, 8 Jan 2021 21:23:51 +0000 (18:23 -0300)]
appDisplay: Never use animated indicators

The app grid itself now is horizontal, and is displayed beneath
workspaces, above the dash. This makes the indicator animations
out of place, as they're not coming from the edge anymore.

Use PageIndicators for both FolderView and AppDisplay.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1629>

5 years agoworkspace: Handle window-added and removed signal after window tracker
Sebastian Keller [Tue, 2 Feb 2021 21:31:32 +0000 (22:31 +0100)]
workspace: Handle window-added and removed signal after window tracker

The new window preview overlay requires getting the app icon for a
window from the window tracker when it gets initialized. The window
tracker listens for the same 'window-added' signal on the MetaWorkspace
that the gnome-shell Workspace listens for to add the window preview.

The window tracker however reconnects all its signal handlers whenever
the number of workspaces changes, which means that its signal handlers
get called after the ones in Workspace ones. So by the time the
'window-added' handler in Workspace is called, the window tracker does
not have an app associated with the window.

To fix this ensure that all window related signal handlers in Workspace
are run after the ones in the window tracker.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3656

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1625>

5 years agoworkspaceAnimation: Move background to WorkspaceGroup
Alexander Mikhaylenko [Sat, 20 Jun 2020 20:29:21 +0000 (01:29 +0500)]
workspaceAnimation: Move background to WorkspaceGroup

Make each wallpaper have a wallpaper and clip it. Add a separate background
to MonitorGroup and add spacing between each workspace

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3635,
      https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/945,
      https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/948

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1326>

5 years agoworkspaceAnimation: Disable unredirection during the gesture
Alexander Mikhaylenko [Sat, 9 Jan 2021 12:43:14 +0000 (17:43 +0500)]
workspaceAnimation: Disable unredirection during the gesture

Make sure fullscreen apps can't block the animation.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1326>

5 years agoworkspaceAnimation: Support multiple screens
Alexander Mikhaylenko [Sat, 20 Jun 2020 19:43:06 +0000 (00:43 +0500)]
workspaceAnimation: Support multiple screens

Currently, there's one animation for the whole canvas. While it looks fine
with just one screen, it causes windows to move between screens when
switching workspaces. Instead, have a separate animation on each screen,
and sync their progress so that at any given time the progress "fraction"
is the same between all screens. Clip all animations to their screens so
that the windows don't leak to other screens.

If a window is placed between every screen, can end up in multiple
animations, in that case each part is still animated separately.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1213

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1326>

5 years agoworkspaceAnimation: Group sticky windows and moving window
Alexander Mikhaylenko [Sat, 20 Jun 2020 18:44:24 +0000 (23:44 +0500)]
workspaceAnimation: Group sticky windows and moving window

Since the transitions consists of window clones now, all the clones appear
above sticky windows. Clone sticky windows as well, and treat them same as
moving window instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1326>

5 years agoworkspaceAnimation: Use a workspace strip
Alexander Mikhaylenko [Sat, 20 Jun 2020 17:01:25 +0000 (22:01 +0500)]
workspaceAnimation: Use a workspace strip

Currently, the workspace swipe transition only has one workspace in each
direction. This works until you try to do multiple swipes in quick
succession. The second swipe would continue the existing transition, which
only has 2 or 3 workspaces in it, and will hit a wall.

To prevent this, take all workspaces and arrange them into a column or row,
depending on the layout, and use that as a transition.

For the transition that happens when focusing a window on another workspace
(for example, via Alt+Tab), still use only two workspaces instead of all of
them.

Since we don't support layouts other than single rows/columns anymore,
diagonal transitions aren't supported anymore, and will be shown as
horizontal or vertical instead.

Since nw alt-tab and gesture transitions are different, don't allow to do
both at once, that is, disable swipe tracker when a programmatic transition
is going. This will also conveniently cancel a gesture transition if a
programmatic one is initiated while a gesture is in progress.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2612

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1326>

5 years agoworkspaceAnimation: Use window clones
Alexander Mikhaylenko [Thu, 4 Jul 2019 18:15:15 +0000 (23:15 +0500)]
workspaceAnimation: Use window clones

Instead of reparenting windows, clone them. This will allow to properly
support multi-monitor setups in subsequent commits.

Block window mapping animation while the animation is running to prevent
new windows appearing during the animation from being visible at the same
time as their clones.

Fixes https://gitlab.gnome.org/GNOME/mutter/issues/929

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1326>

5 years agoworkspaceAnimation: Add a background
Alexander Mikhaylenko [Thu, 16 Jul 2020 10:40:13 +0000 (15:40 +0500)]
workspaceAnimation: Add a background

In future we will need to use window clones to better support multiple
monitors. To avoid having to hide every window, show wallpapers behind
the workspace transition: one per monitor.

Put the wallpaper into a separate class right away, later it will be
useful to make the animation per-monitor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1326>

5 years agoworkspaceAnimation: Add to uiGroup insead of window_group
Alexander Mikhaylenko [Thu, 16 Jul 2020 10:31:36 +0000 (15:31 +0500)]
workspaceAnimation: Add to uiGroup insead of window_group

This will allow to hide window group completely in the following commits.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1326>

5 years agoworkspaceAnimation: Extract WorkspaceGroup
Alexander Mikhaylenko [Thu, 4 Jul 2019 17:44:15 +0000 (22:44 +0500)]
workspaceAnimation: Extract WorkspaceGroup

Simplify the code a bit. The workspace group is relatively self-contained,
so split it from the general animation. Reimplement _syncStacking().

This will help a lot later, with workspace strip and multi-monitor support.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1326>

5 years agoworkspaceAnimation: Stop depending on shellwm
Alexander Mikhaylenko [Tue, 21 Jan 2020 13:09:56 +0000 (18:09 +0500)]
workspaceAnimation: Stop depending on shellwm

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1326>

5 years agoworkspaceAnimation: Split from WindowManager
Alexander Mikhaylenko [Tue, 2 Jul 2019 17:28:47 +0000 (22:28 +0500)]
workspaceAnimation: Split from WindowManager

It's already too complex, and will get more complex in future, split it
out. Update the code style.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1326>

5 years agowindowPreview: Overhaul chrome style
Florian Müllner [Fri, 8 Jan 2021 11:11:06 +0000 (12:11 +0100)]
windowPreview: Overhaul chrome style

 - increase close button size
 - use custom close icon that's better suited
   for the non-default 24pxp size
 - use translucent light gray for both close button
   and window caption

https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/81

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1605>

5 years agowindowPreviews: Replace border with scale effect
Florian Müllner [Fri, 8 Jan 2021 12:27:10 +0000 (13:27 +0100)]
windowPreviews: Replace border with scale effect

We currently use a thick border to indicate the hovered/focused preview. It
works well for that purpose, but is a bit in the face. Slightly scaling up
the preview still provides a clear indication, but in a more subtle and
elegant way.

https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/81

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1605>

5 years agoworkspace: Add some padding around window previews
Florian Müllner [Sat, 30 Jan 2021 04:42:47 +0000 (05:42 +0100)]
workspace: Add some padding around window previews

Commit 059ea64 removed the workspace padding after moving the
background into the workspace. However some whitespace around
window previews is still a good idea, and will be necessary
soon as we are about to indicate focus by slightly scaling up
the active preview, and don't want previews to be clipped by
the workspace in that case.

https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/81

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1605>

5 years agoworkspace: Adjust spacing
Florian Müllner [Thu, 22 Oct 2020 22:49:03 +0000 (00:49 +0200)]
workspace: Adjust spacing

Icons are always visible, so in order to not have overlays overlap
with other previews, we need to consider the sum of top- and border
oversizes rather than the maximum.

https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/81

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1605>

5 years agowindowPreview: Keep borderCenter always visible
Florian Müllner [Wed, 14 Oct 2020 01:17:28 +0000 (03:17 +0200)]
windowPreview: Keep borderCenter always visible

We need it to position the icon now, which isn't hidden with the
border.

https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/81

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1605>

5 years agowindowPreview: Add (back) application icons
Florian Müllner [Mon, 12 Oct 2020 11:27:55 +0000 (13:27 +0200)]
windowPreview: Add (back) application icons

The overview is less visually-busy nowadays, so add back application
icons to make identifying window previews easier.

Fun fact: Removing the icons was part of my very first gnome-shell
contribution!

https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/81

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1605>

5 years agowindowPreview: Allow titles to overlap other previews
Florian Müllner [Mon, 12 Oct 2020 11:19:07 +0000 (13:19 +0200)]
windowPreview: Allow titles to overlap other previews

We are about to add additional chrome, but still want to use
as much space as possible for the previews. Allowing titles
to overlap other previews should help keeping the additional
whitespace requirement low.

https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/81

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1605>

5 years agowindowPreview: Track overlay state separately
Florian Müllner [Fri, 8 Jan 2021 17:36:55 +0000 (18:36 +0100)]
windowPreview: Track overlay state separately

We currently express the state as a combination of border visibility
and the eventual transition state. That's tedious, in particular if
we want to use the state outside the show()/hide() methods.

Just track the requested visibility in a separate property.

https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/81

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1605>

5 years agoworkspaceThumbnails: Center thumbnails in workspace navigator
Florian Müllner [Mon, 1 Feb 2021 15:28:49 +0000 (16:28 +0100)]
workspaceThumbnails: Center thumbnails in workspace navigator

We always request a natural width based on the maximum thumbnail scale,
but may very well use a smaller scale when allocating. This currently
results in thumbnails being off center, fix this by distributing any
extra space evenly before allocating thumbnails.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1620>

5 years agonotificationDaemon: Fix icon-choosing logic
Guilherme Silva [Sun, 31 Jan 2021 04:11:18 +0000 (01:11 -0300)]
notificationDaemon: Fix icon-choosing logic

'image-data' (or 'image-path') should take precedence over 'app-icon',
even when both are sent by the application (e.g. Google Chrome).

Fixes #3616.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1616>

5 years agoworkspace: Use Util.lerp() instead of own _interpolate()
Jonas Dreßler [Mon, 1 Feb 2021 11:08:30 +0000 (12:08 +0100)]
workspace: Use Util.lerp() instead of own _interpolate()

Use the utility function we newly introduced instead of having our own
private _interpolate() in workspace.js.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1617>

5 years agowindowPreview: Cache the boundingBox of the layout manager
Jonas Dreßler [Mon, 1 Feb 2021 10:51:27 +0000 (11:51 +0100)]
windowPreview: Cache the boundingBox of the layout manager

Accessing GObject properties from JS has proven to be quite slow because
of the JS->C->JS roundtrip involved. With the WindowPreview this
actually has an impact since we're accessing those properties very often
while creating new layouts.

So cache the boundingBox and the windowCenter properties of the
WindowPreview using a this._cachedBoundingBox JS object. This might
speed up opening the overview with lots of open windows significantly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1617>

5 years agoworkspace: Don't store strategy on layout object
Jonas Dreßler [Mon, 1 Feb 2021 10:40:50 +0000 (11:40 +0100)]
workspace: Don't store strategy on layout object

We're making the layout object fully owned by the layout strategy, so
store the current strategy somewhere else, that is as a private property
of the class.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1617>

5 years agoworkspace: Refactor layout scale and space calculation
Jonas Dreßler [Mon, 1 Feb 2021 10:36:10 +0000 (11:36 +0100)]
workspace: Refactor layout scale and space calculation

Make computeScaleAndSpace() return an array including scale and space so
we no longer have to access the layout object from outside.

With this we also no longer need to set layout.space, since only the
scale property is needed in computeWindowSlots().

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1617>

5 years agoworkspace: Make computeLayout() return a layout object
Jonas Dreßler [Mon, 1 Feb 2021 10:07:33 +0000 (11:07 +0100)]
workspace: Make computeLayout() return a layout object

Start cleaning up the whole mess around the layout object a bit and
return a new object in the LayoutStrategies computeLayout()
implementation. This object is supposed to be opaque to the API user and
will only be passed to the layout strategy.

For now, keep setting a few things on that object from outside, we'll
clean that up later.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1617>

5 years agoworkspace: Move more things to LayoutStrategy subclass
Jonas Dreßler [Mon, 1 Feb 2021 09:39:41 +0000 (10:39 +0100)]
workspace: Move more things to LayoutStrategy subclass

Only keep computeLayout, computeWindowSlots, computeScaleAndSpace and
the contructor in the superclass, the rest is actually layout specific
and won't apply anymore when we introduce the new vertical layout
strategy.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1617>

5 years agoworkspace: Pass params object to LayoutStrategy
Jonas Dreßler [Mon, 1 Feb 2021 09:09:51 +0000 (10:09 +0100)]
workspace: Pass params object to LayoutStrategy

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1617>

5 years agoextensions-tool: Remove menu arrow from extension template
Florian Müllner [Mon, 1 Feb 2021 11:16:44 +0000 (12:16 +0100)]
extensions-tool: Remove menu arrow from extension template

We stopped putting arrows into the top bar, so we shouldn't encourage
new extensions to still do that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1618>

5 years agostatus/dwellClick: Remove menu arrow
Florian Müllner [Mon, 1 Feb 2021 11:15:00 +0000 (12:15 +0100)]
status/dwellClick: Remove menu arrow

This was missed in commit db9a008.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1618>

5 years agoUpdate Punjabi translation
A S Alam [Sun, 31 Jan 2021 17:40:16 +0000 (17:40 +0000)]
Update Punjabi translation

5 years agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Sat, 30 Jan 2021 15:03:41 +0000 (15:03 +0000)]
Update Brazilian Portuguese translation

5 years agoworkspacesView: Fix scroll direction in RTL locales
Abderrahim Kitouni [Sat, 16 Jan 2021 15:29:05 +0000 (16:29 +0100)]
workspacesView: Fix scroll direction in RTL locales

Scrolling up or down (using the mouse wheel) should scroll to right
or left respectively (rather than the other way around).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1608>

5 years agodash: Only show separator when there are running apps
Florian Müllner [Fri, 29 Jan 2021 18:03:07 +0000 (19:03 +0100)]
dash: Only show separator when there are running apps

The separator is only really needed to distinguish favorite apps
from running apps, the show-apps button is distinct enough already.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1610>

5 years agotheme: Desaturate system color
Jakub Steiner [Fri, 8 Jan 2021 16:22:45 +0000 (17:22 +0100)]
theme: Desaturate system color

- avoid the color tint for the system grey background

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1599>

5 years agostyle: Remove workspace padding
Georges Basile Stavracas Neto [Fri, 11 Dec 2020 17:58:30 +0000 (14:58 -0300)]
style: Remove workspace padding

It makes the background jump when animating from the session.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1599>

5 years agoworkspace: Clip background
Florian Müllner [Fri, 26 Jun 2020 20:41:22 +0000 (22:41 +0200)]
workspace: Clip background

So that windows don't overflow the workspace background.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1599>

5 years agooverview: Move background to Workspace
Georges Basile Stavracas Neto [Mon, 1 Jun 2020 22:24:17 +0000 (19:24 -0300)]
overview: Move background to Workspace

Move the background to the Workspace class by introducing a new container
called WorkspaceBackground, which handles clipping the background to the
workarea.

Move the click action from WorkspaceDisplay into each workspace.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1599>

5 years agobackground: Add option to not use background content size
Georges Basile Stavracas Neto [Tue, 9 Jun 2020 21:18:21 +0000 (18:18 -0300)]
background: Add option to not use background content size

Will be used by next commit to draw workspaces at a different size of the
background itself.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1599>

5 years agobackground: Trivial style cleanup
Georges Basile Stavracas Neto [Tue, 9 Jun 2020 21:18:00 +0000 (18:18 -0300)]
background: Trivial style cleanup

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1599>

5 years agoworkspaceThumbnails: Expand workspaces before scale-in animation
Florian Müllner [Fri, 29 Jan 2021 15:25:28 +0000 (16:25 +0100)]
workspaceThumbnails: Expand workspaces before scale-in animation

When the original animation was implemented, workspaces would only
ever be added at the end. We therefore got away with not having a
separate EXPANDING stage corresponding to the existing COLLAPSING
one when animating out.

Since support for creating in-between workspaces via DND was added,
this is no longer the case. And now that the thumbnails are centered,
the jump is quite noticeable.

Address this by adding new transitional states, so that we can
expand new thumbnails before scaling them in.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1609>

5 years agooverviewControls: Remove intermediate box
Florian Müllner [Fri, 29 Jan 2021 14:38:08 +0000 (15:38 +0100)]
overviewControls: Remove intermediate box

Now that the workspace switcher moved into the view selector, the
box only holds a single child. Cut out the middle man and add that
directly to the parent.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1609>

5 years agotheme: Adjust workspaces thumbnails visuals
Georges Basile Stavracas Neto [Tue, 26 Jan 2021 00:11:28 +0000 (21:11 -0300)]
theme: Adjust workspaces thumbnails visuals

Remove the borders, and make each thumbnail have a background color
that matches other elements like the Dash.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>

5 years agoworkspaceThumbnail: Scale workspaces in and out
Georges Basile Stavracas Neto [Wed, 27 Jan 2021 16:28:36 +0000 (13:28 -0300)]
workspaceThumbnail: Scale workspaces in and out

Make the slide property control the workspace scale, so that new workspaces
scale up, and destroyed workspaces scale down. The scale is done horizontally,
and only slightly vertically, as per design direction.

Rework the state tracking mechanism to remove the COLLAPSING state, since there's
no split between sliding out and collapsing anymore. Also remove the corresponding
'collapse-fraction' property from WorkspaceThumbnail.

Make ThumbnailsBox.vfunc_get_preferred_width() consider the slide-position property.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>

5 years agoworkspaceThumbnail: Use current number of workspaces for sizes
Georges Basile Stavracas Neto [Wed, 27 Jan 2021 16:29:53 +0000 (13:29 -0300)]
workspaceThumbnail: Use current number of workspaces for sizes

There are situations where MetaWorkspaceManager and ThumbnailsBox disagree
on the number of workspaces, for example when animating them out. It's more
important to follow the visible number of workspaces while they're updated.

Make vfunc_get_preferred_width() and vfunc_get_preferred_height() use the
current number of workspace thumbnails to calculate their sizes, instead of
MetaWorkspaceManager's n-thumbnails property.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>

5 years agoworkspaceThumbnail/thumbnailsBox: Set pivot point
Georges Basile Stavracas Neto [Wed, 27 Jan 2021 15:37:48 +0000 (12:37 -0300)]
workspaceThumbnail/thumbnailsBox: Set pivot point

Set the pivot point at the center of the ThumbnailsBox so that scaling
in and out looks better.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>

5 years agoworkspaceThumbnail: Remove wallpaper
Georges Basile Stavracas Neto [Tue, 26 Jan 2021 00:10:44 +0000 (21:10 -0300)]
workspaceThumbnail: Remove wallpaper

They'll be replaced by a stylized background color to make them look
symbolic.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>

5 years agoworkspaceThumbnail: Reduce maximum scale to 5%
Georges Basile Stavracas Neto [Tue, 26 Jan 2021 00:09:53 +0000 (21:09 -0300)]
workspaceThumbnail: Reduce maximum scale to 5%

As per design direction, reduce the maximum workspaces thumbnails to 5% of the
primary monitor size.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>

5 years agoworkspaceThumbnail: Allocate final thumbnail sizes
Georges Basile Stavracas Neto [Mon, 25 Jan 2021 23:59:46 +0000 (20:59 -0300)]
workspaceThumbnail: Allocate final thumbnail sizes

ThumbnailsBox currently allocates each workspace thumbnail using their
porthole size, and scales them down using scale-x and scale-y. This is
slightly problematic since it doesn't allow for properly styling these
thumbnails through CSS.

Rework ThumbnailsBox to allocate workspace thumbnails at their actual
sizes, and scale down the '_contents' actor inside WorkspaceThumbnail.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>

5 years agoworkspaceThumbnail: Make it horizontal
Georges Basile Stavracas Neto [Mon, 25 Jan 2021 23:52:17 +0000 (20:52 -0300)]
workspaceThumbnail: Make it horizontal

Allocate workspace thumbnails horizontally. This requires introducing code
to handle the RTL direction. Do a small rewrite of the DnD hover method to
be simultaneously simpler and easier to follow, and work correctly on RTL.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>

5 years agooverviewControls: Simplify DashFader
Georges Basile Stavracas Neto [Fri, 11 Dec 2020 12:59:46 +0000 (09:59 -0300)]
overviewControls: Simplify DashFader

Merge FaderControl and DashFader, since it's the only subclass, and
remove all overview connections that aren't useful for it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>

5 years agooverviewControls: Move workspaces thumbnails to ViewSelector
Georges Basile Stavracas Neto [Mon, 25 Jan 2021 20:50:59 +0000 (17:50 -0300)]
overviewControls: Move workspaces thumbnails to ViewSelector

This is now all centralized in the apps page, so move the workspaces
thumbnails to ViewSelector's apps page. This allows us to remove
all the slider controls too, since they're now unused.

The transition between showing the workspaces, and the app grid, is
based on the most recent mockups: scale and move it down, and fade it
out.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>

5 years agoviewSelector: Rework Ctrl+Alt+Tab support
Georges Basile Stavracas Neto [Wed, 27 Jan 2021 15:55:20 +0000 (12:55 -0300)]
viewSelector: Rework Ctrl+Alt+Tab support

Now that there's only a ACTIVITIES and a SEARCH page, the old method of handling
keyboard tabbing (extra parameters to ViewSelector._addPage()) limits what we can
do.

Manually set up the Ctrl+Alt+Tab support for each element.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>

5 years agoviewSelector: Merge WINDOWS and APPS pages
Georges Basile Stavracas Neto [Sat, 12 Dec 2020 15:57:15 +0000 (12:57 -0300)]
viewSelector: Merge WINDOWS and APPS pages

Add them both in a StBoxLayout subclass with a vertical layout. This
new ActivitiesContainer class already contains an adjustment controlling
the transition between workspaces and app grid states, and althought it
is internal to it, it'll be easy to integrate with gestures in the
future.

Notice that AppDisplay is added before WorkspacesDisplay. That's because
we want the paint order to paint WorkspacesDisplay on top of AppDisplay.

Switch the ViewsPage enum to call this page ACTIVITIES, and adjust the
only caller in OverviewControls to it. At last, rename '_appsPage' to
'_activitiesPage' to also reflect the name change.

The usefulness of organizing this code in pages is lost here, but this
is a transitional state, and pages will be removed in future changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1593>